package modelo;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

public class Pedido {
    
    private int identificador;
    private User user;
    private Date date;
    private List<LineaDePedido> lineasDelPedido;

    public Pedido(int identificador, User user, Date date, List<LineaDePedido> lineasDelPedido) {
        this.identificador = identificador;
        this.user = user;
        //@Abraham mejor usar copia defensiva para la fecha
        this.date = new Date(date.getTime());
        this.lineasDelPedido = lineasDelPedido;
    }
    
    public Pedido(User user){
        this.identificador = 0;
        this.user = user;
        Date aDate = new Date(new java.util.Date().getTime());
        this.date = aDate;
        this.lineasDelPedido = new ArrayList<LineaDePedido>();
    }
    
    public void addLine(Product product, Integer cantidad){
        this.lineasDelPedido.add(new LineaDePedido(product, cantidad));
    }

    public Date getDate() {
        //@Abraham mejor usar copia defensiva para la fecha
        return new Date(date.getTime());
    }

    public int getIdentificador() {
        return identificador;
    }

    public List<LineaDePedido> getLineasDelPedido() {
        return lineasDelPedido;
    }

    public User getUser() {
        return user;
    }

}
